Warn about the situation when we've found a resource or file path,
but gdk-pixbuf fails to give us a pixbuf. This generally means that
either pixbuf loaders are not found or the shared-mime database
is missing.
}
if (!source_pixbuf)
- return FALSE;
+ {
+ static gboolean warn_about_load_failure = TRUE;
+
+ if (warn_about_load_failure)
+ {
+ gchar *path;
+
+ if (icon_info->is_resource)
+ path = g_strdup (icon_info->filename);
+ else if (G_IS_FILE (icon_info->loadable))
+ path = g_file_get_path (G_FILE (icon_info->loadable));
+ else
+ path = g_strdup ("icon theme");
+
+ g_warning ("Could not load a pixbuf from %s.\n"
+ "This may indicate that pixbuf loaders or the mime database could not be found.",
+ path);
+ g_free (path);
+
+ warn_about_load_failure = FALSE;
+ }
+
+ return FALSE;
+ }
/* Do scale calculations that depend on the image size
*/